/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.tms.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import com.google.common.collect.Lists;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 订单Entity
 * @author dhw
 * @version 2017-12-01
 */
public class Torder extends DataEntity<Torder> {
	
	private static final long serialVersionUID = 1L;
	private String type;		// 订单类型
	private String code;		// 订单编号
	private Date orderDate;		// 下单时间
	private String status;		// 订单状态
	private Date pickDate;		// 提货时间
	private String truckType;		// 要求车型
	private String isLoad;		// 是否需要装卸工
	private String transportType;		// 运输类型
	private String isReceipt;		// 是否需要回单
	private String goodsCompany;		// 发货单位
	private String goodsContacts;		// 发货联系人
	private String goodsPhone;		// 发货联系人电话
	private String pickAddress;		// 提货地址
	private String pickContacts;		// 提货联系人
	private String pickPhone;		// 提货联系人电话
	private String miles;		// 里程
	private String agencyPayment;		// 代收货款
	private String agencyCharge;		// 代收货款手续费
	private String receiptAmount;		// 回单份数
	private String receiptRequire;		// 回单返回要求
	private String loadRequire;		// 装卸要求
	private String loadCharge;		// 装卸费
	private String cart;		// 手推车服务
	private String goodsValue;		// 声明货物价值
	private String insuranceCharge;		// 保险费
	private String transportCharge;		// 运输费
	private String totalLoadCharge;		// 装卸费合计
	private String totaCharge;		// 费用合计
	private String startArea;		// 起始区域
	private String endArea;		// 目的区域
	private String sendAddress;		// 送货地址
	private String sendContacts;		// 送货联系人
	private String sendPhone;		// 送货电话
	private String stay1;		// 预留字段1
	private String stay2;		// 预留字段2
	private String appointCarriers;		// 指定承运商
	private String totalWeight;		// 总重量
	private String totalVolume;		// 总方数
	private List<OrderAddress> orderAddressList = Lists.newArrayList();		// 子表列表
	private List<OrderDetail> orderDetailList = Lists.newArrayList();		// 子表列表
	
	public Torder() {
		super();
	}

	public Torder(String id){
		super(id);
	}

	@ExcelField(title="订单类型", dictType="order_type", align=2, sort=6)
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	
	@ExcelField(title="订单编号", align=2, sort=7)
	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="下单时间", align=2, sort=8)
	public Date getOrderDate() {
		return orderDate;
	}

	public void setOrderDate(Date orderDate) {
		this.orderDate = orderDate;
	}
	
	@ExcelField(title="订单状态", align=2, sort=9)
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="提货时间", align=2, sort=10)
	public Date getPickDate() {
		return pickDate;
	}

	public void setPickDate(Date pickDate) {
		this.pickDate = pickDate;
	}
	
	@ExcelField(title="要求车型", dictType="truck_type", align=2, sort=11)
	public String getTruckType() {
		return truckType;
	}

	public void setTruckType(String truckType) {
		this.truckType = truckType;
	}
	
	@ExcelField(title="是否需要装卸工", dictType="is_load", align=2, sort=12)
	public String getIsLoad() {
		return isLoad;
	}

	public void setIsLoad(String isLoad) {
		this.isLoad = isLoad;
	}
	
	@ExcelField(title="运输类型", dictType="transport_type", align=2, sort=13)
	public String getTransportType() {
		return transportType;
	}

	public void setTransportType(String transportType) {
		this.transportType = transportType;
	}
	
	@ExcelField(title="是否需要回单", dictType="is_receipt", align=2, sort=14)
	public String getIsReceipt() {
		return isReceipt;
	}

	public void setIsReceipt(String isReceipt) {
		this.isReceipt = isReceipt;
	}
	
	@ExcelField(title="发货单位", align=2, sort=15)
	public String getGoodsCompany() {
		return goodsCompany;
	}

	public void setGoodsCompany(String goodsCompany) {
		this.goodsCompany = goodsCompany;
	}
	
	@ExcelField(title="发货联系人", align=2, sort=16)
	public String getGoodsContacts() {
		return goodsContacts;
	}

	public void setGoodsContacts(String goodsContacts) {
		this.goodsContacts = goodsContacts;
	}
	
	@ExcelField(title="发货联系人电话", align=2, sort=17)
	public String getGoodsPhone() {
		return goodsPhone;
	}

	public void setGoodsPhone(String goodsPhone) {
		this.goodsPhone = goodsPhone;
	}
	
	@ExcelField(title="提货地址", align=2, sort=18)
	public String getPickAddress() {
		return pickAddress;
	}

	public void setPickAddress(String pickAddress) {
		this.pickAddress = pickAddress;
	}
	
	@ExcelField(title="提货联系人", align=2, sort=19)
	public String getPickContacts() {
		return pickContacts;
	}

	public void setPickContacts(String pickContacts) {
		this.pickContacts = pickContacts;
	}
	
	@ExcelField(title="提货联系人电话", align=2, sort=20)
	public String getPickPhone() {
		return pickPhone;
	}

	public void setPickPhone(String pickPhone) {
		this.pickPhone = pickPhone;
	}
	
	@ExcelField(title="里程", align=2, sort=21)
	public String getMiles() {
		return miles;
	}

	public void setMiles(String miles) {
		this.miles = miles;
	}
	
	@ExcelField(title="代收货款", align=2, sort=22)
	public String getAgencyPayment() {
		return agencyPayment;
	}

	public void setAgencyPayment(String agencyPayment) {
		this.agencyPayment = agencyPayment;
	}
	
	@ExcelField(title="代收货款手续费", align=2, sort=23)
	public String getAgencyCharge() {
		return agencyCharge;
	}

	public void setAgencyCharge(String agencyCharge) {
		this.agencyCharge = agencyCharge;
	}
	
	@ExcelField(title="回单份数", align=2, sort=24)
	public String getReceiptAmount() {
		return receiptAmount;
	}

	public void setReceiptAmount(String receiptAmount) {
		this.receiptAmount = receiptAmount;
	}
	
	@ExcelField(title="回单返回要求", dictType="receipt_require", align=2, sort=25)
	public String getReceiptRequire() {
		return receiptRequire;
	}

	public void setReceiptRequire(String receiptRequire) {
		this.receiptRequire = receiptRequire;
	}
	
	@ExcelField(title="装卸要求", dictType="load_require", align=2, sort=26)
	public String getLoadRequire() {
		return loadRequire;
	}

	public void setLoadRequire(String loadRequire) {
		this.loadRequire = loadRequire;
	}
	
	@ExcelField(title="装卸费", align=2, sort=27)
	public String getLoadCharge() {
		return loadCharge;
	}

	public void setLoadCharge(String loadCharge) {
		this.loadCharge = loadCharge;
	}
	
	@ExcelField(title="手推车服务", dictType="cart", align=2, sort=28)
	public String getCart() {
		return cart;
	}

	public void setCart(String cart) {
		this.cart = cart;
	}
	
	@ExcelField(title="声明货物价值", align=2, sort=29)
	public String getGoodsValue() {
		return goodsValue;
	}

	public void setGoodsValue(String goodsValue) {
		this.goodsValue = goodsValue;
	}
	
	@ExcelField(title="保险费", align=2, sort=30)
	public String getInsuranceCharge() {
		return insuranceCharge;
	}

	public void setInsuranceCharge(String insuranceCharge) {
		this.insuranceCharge = insuranceCharge;
	}
	
	@ExcelField(title="运输费", align=2, sort=31)
	public String getTransportCharge() {
		return transportCharge;
	}

	public void setTransportCharge(String transportCharge) {
		this.transportCharge = transportCharge;
	}
	
	@ExcelField(title="装卸费合计", align=2, sort=32)
	public String getTotalLoadCharge() {
		return totalLoadCharge;
	}

	public void setTotalLoadCharge(String totalLoadCharge) {
		this.totalLoadCharge = totalLoadCharge;
	}
	
	@ExcelField(title="费用合计", align=2, sort=33)
	public String getTotaCharge() {
		return totaCharge;
	}

	public void setTotaCharge(String totaCharge) {
		this.totaCharge = totaCharge;
	}
	
	@ExcelField(title="起始区域", align=2, sort=34)
	public String getStartArea() {
		return startArea;
	}

	public void setStartArea(String startArea) {
		this.startArea = startArea;
	}
	
	@ExcelField(title="目的区域", align=2, sort=35)
	public String getEndArea() {
		return endArea;
	}

	public void setEndArea(String endArea) {
		this.endArea = endArea;
	}
	
	@ExcelField(title="送货地址", align=2, sort=36)
	public String getSendAddress() {
		return sendAddress;
	}

	public void setSendAddress(String sendAddress) {
		this.sendAddress = sendAddress;
	}
	
	@ExcelField(title="送货联系人", align=2, sort=37)
	public String getSendContacts() {
		return sendContacts;
	}

	public void setSendContacts(String sendContacts) {
		this.sendContacts = sendContacts;
	}
	
	@ExcelField(title="送货电话", align=2, sort=38)
	public String getSendPhone() {
		return sendPhone;
	}

	public void setSendPhone(String sendPhone) {
		this.sendPhone = sendPhone;
	}
	
	@ExcelField(title="预留字段1", align=2, sort=39)
	public String getStay1() {
		return stay1;
	}

	public void setStay1(String stay1) {
		this.stay1 = stay1;
	}
	
	@ExcelField(title="预留字段2", align=2, sort=40)
	public String getStay2() {
		return stay2;
	}

	public void setStay2(String stay2) {
		this.stay2 = stay2;
	}
	
	@ExcelField(title="指定承运商", align=2, sort=42)
	public String getAppointCarriers() {
		return appointCarriers;
	}

	public void setAppointCarriers(String appointCarriers) {
		this.appointCarriers = appointCarriers;
	}
	
	@ExcelField(title="总重量", align=2, sort=43)
	public String getTotalWeight() {
		return totalWeight;
	}

	public void setTotalWeight(String totalWeight) {
		this.totalWeight = totalWeight;
	}
	
	@ExcelField(title="总方数", align=2, sort=44)
	public String getTotalVolume() {
		return totalVolume;
	}

	public void setTotalVolume(String totalVolume) {
		this.totalVolume = totalVolume;
	}
	
	public List<OrderAddress> getOrderAddressList() {
		return orderAddressList;
	}

	public void setOrderAddressList(List<OrderAddress> orderAddressList) {
		this.orderAddressList = orderAddressList;
	}
	public List<OrderDetail> getOrderDetailList() {
		return orderDetailList;
	}

	public void setOrderDetailList(List<OrderDetail> orderDetailList) {
		this.orderDetailList = orderDetailList;
	}
}